1
登録シートが壊れ始めている
DSAI2202Lesson 1: Designing Relational Database Structures
00:00

学校の情報を整理する際、表計算ソフトは非常に手軽に始められる選択肢です。しかし、学生・コース・教員・履修登録などのすべての記録を1枚の巨大で過負荷なシートにまとめると、データが際限なく繰り返され、システムが破綻してしまいます。1人の学生が複数の授業を受講すると、その個人情報を何度も繰り返し書き込まなければならず、煩雑な重複と深刻な保守上の問題が生じます。

⚠️ フラットな履修登録シート学生: サム (ID: 001)コース: 数学、理科、美術データが複数の行で重複しています!✓ リレーショナルデータベース表1: 学生(サム)表2: コース(数学...)表3: 履修登録(リンク)

データベース設計の基本概念

  • データの重複: コースに多数の学生が登録されていると、コース情報と教員情報が多数の行にわたって繰り返され、スペースの無駄とエラーの誘発につながります。
  • 更新異常: サムが電話番号を変更した際に1か所だけ更新すると、シート全体が矛盾した情報で埋め尽くされてしまいます。
  • 要件分析: 信頼性の高い設計は、これらの問題を発見し、エンティティ(実体)、属性、リレーションシップ(関係)を特定することから始まります。

構造化が必要な理由

適切に設計されたデータベースは、同じ学生・コースの組み合わせが誤って2回登録されてしまうといったエラーを防ぎます。異なる概念を適切に構造化されたテーブルに分離することで、各行が単一かつ一貫した対象を表し、信頼性の高い運用を保証します。

設計原則
すべての設計上の決定は、想定上の慣習ではなく、明示された要件に直接トレーサブル(追跡可能)でなければなりません。これにより、アーキテクチャが実世界を正確にモデル化することが保証されます。
The Registration Sheet Is Starting to Break